Absolute position encoder

ABSTRACT

An absolute position encoder for detecting the position of a moving object includes a coding part attached to the moving object which receives sinusoidal and cosinusoidal signals through channels. Each channel receiving signals having a different number of cycles from the other channels per unit of movement of the object. The signals received by each channel are converted to digital form by an analog to digital (AD) converter and stored in a ROM. Discrepancies between the sinusoidal and cosinusoidal phase are corrected digitally by comparing the digital results of the channels, adjusting the data from higher-order channels to conform to that of adjacent lower-order channels, and finally combining the data for each channel to obtain the absolute position of the moving object.

BACKGROUND OF THE INVENTION Field of the Invention

This invention relates to an absolute position encoder and, moreparticularly, to an absolute position encoder capable of detecting, asan absolute position, the rotational position of a rotary shaft of amotor or the like which drives a machine tool, etc.

Description of the Related Art

In general, an absolute position encoder has a rotary coding disk fixedto a rotary shaft and a plurality of slit arrays (channels) inaccordance with binary notation or Gray binary notation provided inconformity with the resolution desired, and the rotational position ofthe rotary coding disk is detected as an absolute position by detecting,by means of a light-receiving element (photoelectric transducer element)an amount of light from a light-emitting element that has passed througheach channel formed in the rotary coding disk and a stationary slitopposing each channel.

In order to increase detecting precision (resolution), it is necessaryto increase the number of channels. For example, in order to detectangular information in which one revolution is divided into 4096, i.e.,2¹², parts, it is required that the number of channels be 12 (a 12-bitcode is necessary), thus necessitating a coding disk of acorrespondingly large size.

In order to avoid this problem, it has been considered to provide therotary coding disk with sinusoidal patterns in a plurality of channelsso as to obtain a plurality of sinusoidal outputs having differentcycles per revolution (e.g., a pattern through which one cycle of asinusoidal output is obtained per revolution is provided as a firstchannel, a pattern through which 16 cycles of a sinusoidal output isobtained per revolution is provided as a second channel, and a patternthrough which 256 cycles of a sinusoidal output is obtained perrevolution is provided as a third channel), interpolate the angularinformation in one wavelength of each channel 16 items at a time, andsuccessively combine the interpolated data of each channel thusobtained, whereby the rotational position of the coding disk is detectedas an absolute position.

In such a case, the number of channels for obtaining the same resolutionis smaller than that needed in a case where the channels are formed inaccordance with the above-mentioned binary methods (e.g., in order toperform detection by dividing one revolution into 2¹² parts, threechannels will suffice, as set forth above), thereby making it possibleto reduce the size of the rotary coding disk.

FIG. 2 exemplifies an absolute position encoder adapted to detect theangular information of such a rotary coding disk, in which the rotarydisk used has plural channels of sinusoidal patterns the numbers ofcycles whereof differ. FIG. 2 illustrates a case in which, in additionto the above-mentioned first, second and third channels (represented by1λ, 16λ and 256λ, respectively), there is provided a fourth channel(represented by 4096λ, by which a sinusoidal output of 4096 cycles isobtained), wherein the inputs are sinusoidal signals 1λ sin, 16λsin,256λsin and 4096λsin from the respective channels and cosinusoidalsignals 1λcos, 16λcos, 256λcos and 4096λcos having an electrical phasedifference of 90° relative to respective ones of the sinusoidal signals.By way of example, the cosinusoidal signals are obtained by using alight-receiving element to detect and photo electrically convert lightwhich has passed through a stationary slit electrically displaced by 90°from the stationary slit for the sinusoidal signals.

Numerals 11 through 14 denote amplifiers for amplifying respective onesof the sinusoidal signals 1λsin through 4096λsin, 21 through 24 analogswitches for channel selection connected to the output sides ofrespective ones of the amplifiers 11 through 14, 16 through 19amplifiers for amplifying the cosinusoidal signals 1λcos through4096λcos, and 26 through 29 analog switches for channel selectionconnected to the output sides of respective ones of the amplifiers 16through 19.

Assume now with regard to detecting information relating to the angle ofthe rotary coding disk that switches 21 and 26 are turned on. In suchcase, after the sinusoidal signal 4096λsin and cosinusoidal signal4096λcos from the signal detectors (the corresponding light receivingelements) are amplified by the corresponding amplifiers 11, 16, theamplified signals pass through the switches 21, 26 and enter AD (analogto digital) converters 31, 32, respectively. Each of the AD converters31, 32 converts its input into digital data of a prescribed number ofbits in conformity with the required resolution and supplies thisdigital data (so-called sine data X_(s) and cosine data X_(c)) to a ROM41 as address inputs (e.g., row-and column address inputs). Valuesobtained by multiplying tan⁻¹ (Xs/Xc) by a suitable constant areconverted into binary numbers stored in the ROM 41 in accordance withdesignated addresses where an address is designated by the sine dataX_(s) and cosine data X_(c).

More specifically, assume that the input sinusoidal signal 4096λsin is0.5V and that the cosinusoidal signal 4096λcos is also 0.5V. In suchcase, these signals are each converted into a prescribed digitalquantity, e.g., "0100" by the respective AD converters 31, 32 (i.e., thesine data X_(s) and cosine data X_(c) inputted to the ROM 4 are assumedto be "0100"). Accordingly, if such sine data and cosine data areentered as the address signals, the data in the ROM stored at thecorresponding address will be a value (=1/8) converted into a binarynumber having a suitable number of bits, e.g., a 10-bit binary number"0010000000", the value (1/8) being obtained by multiplying tan⁻¹ =45°by 1/36, which serves as a constant. From among this 10-bit stored data,the four higher-order bits, for example, namely "0010", are read out andlatched in a latch circuit 51. In this case, angular information in onewavelength regarding the corresponding channel (i.e., 4096λ) isextracted as interpolated data divided into 16 parts.

Next, the channel selection switches are changed over from 21, 26 to 22,27, the sinusoidal signal 256λsin and cosinusoidal signal 256λcos whichenter at this time are similarly converted into digital data by the ADconverters 31, 32, the sine data and cosine data thus obtained are usedas address signals for the ROM 41 to again read out 10-bit datacorresponding to the address in the manner set forth above, and the dataconsisting of the four higher-order bits is latched in a latch circuit52.

Thereafter, and in similar fashion, the channel selection switches aresuccessively changed over to 23, 28 and then to 24, 29, the sine dataand cosine data obtained by AD-converting the entering signals 16sin,16λcos and then 1λsin, 1λcos are successively used as address signals ofthe ROM 41 to read out the ROM data corresponding to these addresses,and the four higher-order bits of the read data are successively latchedin latch circuits 53, 54.

Thus, the channels (four channels in this case) are successively changedover, and ROM data read out using the two-phase input signals (thesinusoidal and cosinusoidal signals) of each channel as the prescribedaddress data is successively latched in the latch circuits. By combiningthe data in the latch circuits 51-54, information indicative of theangle of the rotary coding disk can be detected with 16-bit data usingthe data (the data on the higher-order bit side) latched in the latchcircuit 54 to the data ((the data on the lower-order bit side) latchedin the latch circuit 51. In this case, the absolute position of the diskcan be detected, with the number of divisions per revolution being 2¹⁶(i.e., a resolution of 2¹⁶ revolution).

FIG. 3 is a view for describing the absolute position data obtained bythe foregoing operation. Let A₄ represent a hexadecimal numeric value ofthe four higher-order bits of interpolated data D₄ in the leastsignificant channel (4096λ channel), A₃ a hexadecimal numeric value ofthe four higher-order bits of interpolated data D₃ in the 256λ channel,A₂ a hexadecimal numeric value of the four higher-order bits ofinterpolated data D₂ in the 16λ channel, and A₁ a hexadecimal numericvalue of interpolated data D₁ in the most significant channel (1λchannel). In such case, the absolute position data is as follows,expressed in hexadecimal notation:

    A.sub.1 ·16.sup.-1 +A.sub.2 ·16.sup.-2 +A.sub.3 ·16.sup.-3 +A.sub.4 ·16.sup.-4

It should be noted that if a hexadecimal numeric value A_(i) (i=1-4) isexpressed as follows using binary notation:

    A.sub.i =a.sub.i3 ·2.sup.3 +a.sub.i2 ·2.sup.2 +a.sub.i1 ·2.sup.1 +a.sub.i0

then the absolute position data may written as follows: ##EQU1##

Ideally, the sinusoidal signals 1λsin, 16λsin, 256λsin and 4096λsin inthe respective channels are required to cross the zero simultaneously atpredetermined point in the rotated period, as shown in FIG. 4 (in whichonly 256λsin and 4096λsin are illustrated). More specifically, (i) withregard to two mutually adjacent channels, sinusoidal signals of thehigher-order channel and lower-order channel are required to cross zerosimultaneously every 16 cycles of the lower-order channel, and (ii) itis required that the sinusoidal signal and cosinusoidal signal of eachchannel possess an accurate phase difference of 90° in terms of theelectric angle.

However, (i) and (ii) cannot reliably be satisfied at the outset owingto errors in forming the sinusoidal pattern in each channel. That is, asshown in FIG. 5, a phase error P_(E) resides between the zero crosspoints of the sinusoidal or cosinusoidal signals of mutually adjacentchannels, and the phase between sinusoidal and cosinusoidal signalscannot be made exactly 90°.

Consequently, the conventional practice is to provide means foradjusting, in analog fashion, the phases of the sinusoidal signal andcosinusoidal signal, which are the outputs of the light-emittingelements, use the adjusting means, while observing the sinusoidal signalof each channel using a synchroscope or the like, to effect anadjustment in such a manner that the zero-crossing point of thehigher-order channel (the longer period) is made to coincide with thezero-crossing point of the adjacent lower order channel (the shorterperiod side) at a predetermined point in the rotation period, thensimilarly advance the phase of the cosinusoidal signal on the longerperiod to be 90° ahead of the sinusoidal signal, and thereafter performadjustment in such a manner that the zero-crossing points of thecosinusoidal signals of the mutually adjacent channels coincide.

However, the analog adjustment is troublesome. Moreover, adjustmenterrors occur, as a result of which absolute position cannot be detectedaccurately.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide anabsolute position encoder in which phase can be adjusted digitally,automatically and which reduces adjustment error to.

DISCLOSURE OF THE INVENTION

The present invention provides an absolute position encoder in whichsinusoidal and cosinusoidal signals are output in each of a plurality ofchannels having a numbers of cycles that differ from one another, aprescribed number of items of position information are interpolated inone wavelength of each channel, and m higher-order bits of theinterpolated data in each channel are combined to output an absoluteposition of a rotary coding disk.

In the present invention, corrective data is obtained which will reduce,below a predetermined value, a difference between higher-order n-bitdata in the interpolated data in a lower-order channel having a largenumber of cycles and lower-order n-bit data in the interpolated data inthe adjacent higher-order channel having a small number of cycles. Theinterpolated data of the adjacent higher-order channel is corrected bythe corrective data, and the m higher-order bits of the interpolateddata of each channel after correction are combined to detect absoluteposition.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the principal portions of an absoluteposition encoder according to the present invention;

FIG. 2 is a block diagram for describing the principle of absoluteposition detection performed by an absolute position encoder;

FIG. 3 is a view for describing the structure of absolute position data;and

FIGS. 4 and 5 are views for describing the background of the presentinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Described first will be the general features of an angle data correctionmethod used in the absolute position encoder of the present invention.

(i) If the zero-crossing points of the sinusoidal signals of twomutually adjacent channels coincide every predetermined number of cycles(e.g., every 16 cycles) of the lower order channel signal and (ii) thephases of the sinusoidal signal and cosinusoidal signal of the samechannel are accurately displaced from each other by 90°, then thefollowing will hold with regard to the interpolated data D1-D4 (see FIG.3) of the respective channels read out of the ROM 41 (FIG. 2):

"Six-bit data B_(i) starting from the (m+1)th bit (fifth bit) of thehigher-order channel of two mutually adjacent channels and higher-ordersix-bit data A_(i+1) ' (i =1, 2, 3) of the lower-order channel willcoincide."

In other words, the larger the phase shift of between (i) and (ii), thelarger will be the absolute value of the difference between the dataB_(i) and A_(i+1) '.

In accordance with the present invention, therefore,

(a) an initial value C_(i) of corrective data is set at zero, and adifference ΔC_(i) is computed, at predetermined sampling times, betweendata B_(i) in interpolated data D_(i) of the higher-order channel anddata B_(i+1) ' in interpolated data D_(i+1) of the lower-order channel;

(b) C_(i) +ΔC_(i) is used as new corrective data (C_(i) +ΔC_(i) →C_(i))if the absolute value of the difference is greater than a set value;

(c) the interpolated data D_(i) of the higher-order channel at the nextsampling time is corrected (D_(i) +C_(i) →D_(i)) using the correctivedata C_(i), and similar processing is subsequently executed to obtaincorrective data which will make the absolute value of the differenceΔC_(i) less than a predetermined value;

(d) corrective data is similarly obtained for all mutually adjacentchannels; and

(e) in detecting the absolute position of a rotary shaft, theinterpolated data D_(i) is corrected by the corrective data C_(i) andthe four higher-order bits of the interpolated data of the respectivechannels after correction is combined to generate and output dataindicative of the absolute position of the rotary shaft.

FIG. 1 is a block diagram showing the principal portions of an absoluteposition encoder according to the present invention.

Numeral 1 denotes a ROM in which the interpolated data of each channelis stored. This ROM 1 has the same construction as that of ROM 41 shownin FIG. 2 and has the same stored contents. Numerals 2a-2b denoteinterpolated data memory units which store, at predetermined samplingtimes, the interpolated data (assumed to be 10-bit data) D₄, D₃, D₂, D₁of the 1λ through 4096λ channels read out of the ROM 1. For the detailsof the interpolated data D_(i) of each channel, see FIG. 3.

Numerals 3a-3c denote angle data correction units which, based on thecorrective data C_(i) between mutually adjacent channels, corrects theinterpolated data D_(i) of the higher-order channel in accordance withthe following equation:

    D.sub.i +C.sub.i →D.sub.i '. . .                    (1)

Numeral 4 denotes an angle data changeover unit for changing over andoutputting the two items of interpolated data D_(i) ', D_(i+1) ' ofpredetermined mutually adjacent channels when the corrective data C_(i)between each of the mutually adjacent channels is obtained. Numeral 5adesignates a higher-order six-bit output unit for outputtinghigher-order six-bit data A_(i+1) ' of the interpolated data D_(i+1) 'of the lower-order channel, and 5b designates a lower-order six-bitoutput unit for outputting lower-order six-bit data B_(i) of theinterpolated data D_(i) ' of the upper-order channel. Numeral 6 denotesa subtracting arithmetic unit for calculating the difference ΔC_(i)between data A_(i+1) ' and B_(i) in accordance with the followingequation:

    A.sub.i+1 '-B.sub.i →ΔC.sub.i. . .            (2)

Numeral 7 represents an error monitoring unit for checking to seewhether the absolute value |ΔC_(i) | of the difference ΔC_(i) is lessthan a set value, 8 a corrective data arithmetic unit, and 9 acorrective data memory unit. The corrective data memory unit 8 updatesthe corrective data C_(i) between the mutually adjacent channels inaccordance with the following equation:

    C.sub.i +ΔC.sub.i →C.sub.i . . .              (3)

and stores the updated data in the corrective data memory unit 9.Numeral 10 denotes an absolute position data output unit for combiningthe higher-order four bits A₁ -A₄ of the interpolated data D₁ '-D₄ ' ofrespective channels, and for outputting 16-bit binary absolute positiondata.

The overall operation of FIG. 1 will now be described.

(a) Corrective data decision processing

During corrective data decision processing, the initial values of thecorrective data C₃, C₂, C₁ between all of the mutually adjacent channelsare set to zero and decisions are made successively starting from thecorrective data C₃ of the adjacent channel on the side of the leastsignificant channel. The interpolated data D₁, D₂, D₃, D₄ of therespective channels is read out of the ROM 1 every predeterminedsampling time and stored in the memory units 2a-2d, just as in theconventional method of FIG. 2.

(a) First, on the assumption that the lower-order channel is the 4096λchannel and the higher-order channel is the 256λ channel, the correctiveoperation of Eq. (1) is applied to the interpolated data D₃ of thehigher-order channel at the predetermined sampling time to generateinterpolated data D₃ '. It should be noted that D₄ is regarded as beingD₄ ' without a correction being applied to the interpolated data D₄ ofthe least significant channel.

(b) Next, the angle data changeover unit 4 selects the interpolated dataD₄ ', D₃ ' of the lower- and higher-order channels after correction andoutputs these data to the higher-order six-bit output unit 5a andlower-order six-bit output unit 6a, respectively.

(c) The higher-order six-bit output unit 5a outputs higher-order six-bitdata A₄ ' of the interpolated data D₄ ' of the lower-order channel, andthe lower-order six-bit output unit 5b outputs lower order six-bit dataB₃ ' of the interpolated data D₃ ' of the higher-order channel.

(d) The difference arithmetic unit 6 calculates the difference ΔC₃between the data A₄ ' and data B₃ in accordance with Eq. (2) and inputsthe difference to the error monitoring unit 7 and corrective dataarithmetic unit 8.

(e) The error monitoring unit 7 checks to determine whether the absolutevalue of the difference C₃ is less that the set value, and applies acorrective data update command REN to the corrective data arithmeticunit 8.

(f) When the corrective data update command REN is generated, thecorrective data arithmetic unit adopts C₃ +ΔC₃ as new corrective data(C₃ +ΔC₃ →C₃) in accordance with Eq. (3) and stores the new correctivedata in the corrective data memory unit 9.

Thereafter, when the next sampling time arrives, processing from theaforementioned step (a) is repeated. When the difference ΔC₃ falls belowthe set value, the corrective data update command REN is not generatedand the processing for setting the corrective data C₃ is ended.

When the corrective data C₃ between the least significant channel andthe channel adjacent thereto has been decided by the foregoingoperation, the corrective data C₂ is subsequently decided using theinterpolated data D₃, D₂ in the same manner, the corrective data C₁ issimilarly decided using the interpolated data D₂, D₁, and correctivedata decision processing is terminated.

In the foregoing, the corrective data is decided by reading theinterpolated data D₄ -D₁ of the respective channels out of the ROM everypredetermined sampling time. However, an arrangement can be used inwhich the foregoing processing is executed to decide the corrective datawithout altering the interpolated data D₄ -D₁ of the respective channelsat the predetermined times.

(b) Absolute position data output processing

In detecting the absolute position of the rotary shaft, the interpolateddata D₁ -D₃ in the respective channels is corrected (D₄ is notcorrected) by the corrective data C₁ -C₃ at the predetermined samplingtimes, and the interpolated data D₁ '-D₄ ' of the respective channels isinput to the absolute position data output unit 10. The latter combinesthe four higher-order bits of the interpolated data D₁ '-D₄ ' on therespective channels just as in the prior-art method and outputs absoluteposition data expressed in the form of a 16-bit binary number.

In the foregoing, it is so arranged that the processing for deciding thecorrective data C_(i) is terminated when |ΔC_(i) | falls below the setvalue in the error monitoring unit 7. It is also permissible to adoptthe following arrangement: Specifically, it can be so arranged that thecorrective data C_(i) is updated in accordance with Eq. (3) in a casewhere the absolute value |ΔC_(i) | of the difference is smaller thanthat which prevailed one sampling instant earlier, whereas if theabsolute value is larger than that which prevailed one sampling instantearlier, this value |ΔC_(i) | one sampling earlier is regarded as beingminimum and corrective data decision processing is terminated.Furthermore, even though the foregoing is a case where the presentinvention is applied to an optical sensor, it can be applied also to amagnetic sensor.

Further, even though the foregoing describes a rotary-type absoluteposition encoder, applying the present invention to a linear-typedetector such as a linear scale will make it possible to similarlyconstruct a more accurate linear-type absolute position encoder.

Thus, in accordance with the present invention, it is arranged tocalculate the difference ΔC_(i) between higher-order six-bit data ofinterpolated data in a lower-order channel and six-bit data startingfrom a fifth bit of interpolated data in a higher-order channel, obtaincorrective data C_(i) which will bring the difference below apredetermined value or minimize the corrective data, correct theinterpolated data in the adjacent higher-order channel by the correctivedata C_(i), and combine the four higher-order bits of the interpolateddata of each channel after correction, thereby detecting the absoluteposition of a rotary shaft. As a result, phase can be adjusted digitallyand automatically, and the phase adjustment can be performed so as tominimize adjustment error, thereby making possible high precisedetection of absolute position.

I claim:
 1. An absolute position encoder for detecting the absoluteposition of a moving object, comprising:a moving coding part attached goto the moving object and producing sinusoidal and cosinusoidal outputsin respective channels, in which adjacent channels are made up of ahigher-order channel having a small number of cycles and a lower-orderchannel having a larger number of cycles; converters for converting thesinusoidal and cosinusoidal outputs in each channel into positioninformation indicative of the position of said moving part; a ROMconnected to said converters in which outputs of the converterscorresponding to the sinusoidal and cosinusoidal outputs of the adjacentchannels are successively used as address information for an address insaid ROM in which a predetermined number of items of positioninformation are interpolated in one wavelength of each channel;detecting means for detecting an absolute position of the moving codingpart using a fixed number (m) of higher-order bits of the interpolateddata in each channel; computing means for computing, based on theabsolute position of each of the adjacent channels, corrective datareducing to less than a predetermined value, a difference between afixed number of higher-order bits of interpolated data in eachlower-order channel and a fixed number of bits, starting from an (m+1)thbit, of the interpolated data in each higher-order channel; correctingmeans for correcting the interpolated data of the adjacent channelsusing the corrective data; and combining means for combining mhigher-order bits of the interpolated data of each channel aftercorrection to output the absolute position of the moving code part. 2.An absolute position encoder according to claim 1, wherein saidcomputing means obtains the corrective data for each adjacent channel.3. An absolute position encoder according to claim 2, wherein saidcomputing means comprises:an arithmetic unit for obtaining thedifference between higher-order n-bit data of the interpolated data inthe lower-order channel and n-bit data starting from the (m+1) th bit ofinterpolated data in the higher-order channel; a monitoring unit,connected to said arithmetic unit, for monitoring whether the differencehas fallen below the predetermined value; and a corrective data updatingunit, connected to said monitoring unit, for updating the correctivedata if the difference has not fallen below the predetermined value. 4.An absolute position encoder according to claim 3, wherein saidcorrective data updating unit updates the corrective data by applyingsaid difference ΔC to an initial value C, where the initial value C ofthe corrective data is assumed to be zero and said difference is assumedto be ΔC, and updates the corrective data until the absolute value of ΔCfalls below the predetermined value.
 5. An absolute position encoderaccording to claim 1, wherein said moving coding part is a rotary codingdisk, the number of cycles of the sinusoidal and cosinusoidal outputs ofthe respective channels are 16⁰, 16¹, 16², 16³ . . . per revolution, andthe fixed (m) number of higher-order bits of interpolated data in eachchannel is
 4. 6. An absolute position encoder according to claim 1,wherein said moving coding part is a rotary coding disk for detectingthe rotational position of a rotating object.
 7. An absolute positionencoder according to claim 6, further comprising:a light-receivingelement capable of converting light to an electrical signal; andstationary slits comprising:a first stationary slit through which lightthat passes is converted to a sinusoidal signal; and a second stationaryslit, electrically displaced 90° from the first stationary slit, so thatlight that passes through the second stationary slit is converted to acosinusoidal signal.
 8. A correction device for correcting an output ofan absolute position encoder capable of providing digital signals,comprising:storing means for storing digital data provided by eachdigital signal at a precision that produces overlapping bits; comparisonmeans for comparing the overlapping bits and obtaining corrective data;correction means for correcting the digital data stored in said storingmeans using the corrective data obtained by said comparison means saidstoring means comprising a read only memory; said comparison meanscomprising a difference arithmetic unit computing a difference betweenthe overlapping bits in the digital data, a corrective data updatingunit updating the corrective data based on the difference and acorrective data memory storing the corrective data; and said correctionmeans comprising a digital data correction unit, inputs of which areconnected to said corrective data memory and said read only memory andoutputs of which are connected to said difference arithmetic unit.
 9. Acorrection device for correcting an output of an absolute positionencoder capable of providing digital signals, comprising:storing meansfor storing digital data provided by each digital signal at a precisionthat produces overlapping bits; comparison means for comparing theoverlapping bits and obtaining corrective data; correction means forcorrecting the digital data stored in said storing means using thecorrective data obtained by said comparison means said storing meanscomprising a read only memory; and said comparison means comprising adifference arithmetic unit computing a difference between theoverlapping bits in the digital data, a corrective data memory,connected to said difference arithmetic unit and storing the difference,and an angle data correction unit, connected to said corrective datamemory, said read only memory and said difference arithmetic unit, andapplying the difference to a comparison of the overlapping bits ofdigital data for different digital signals.
 10. A correction device forcorrecting an output of an absolute position encoder capable ofproviding digital signals, wherein the digital signals have beenconverted from sinusoidal and cosinusoidal signals of differentfrequency output by the absolute position encoder, comprising:storingmeans for storing digital data provided by each digital signal at aprecision that produces overlapping bits; comparison means for comparingthe overlapping bits and obtaining corrective data; correction means forcorrecting the digital data stored in said storing means using thecorrective data obtained by said comparison means, and reducing a phaseerror between the sinusoidal and cosinusoidal signals of differentfrequency; said storing means comprising a read only memory; and saidcomparison means comprising a difference arithmetic unit computing adifference between the overlapping bits in the digital data, acorrective data memory, connected to said difference arithmetic unit andstoring the difference, and an angle data correction unit, connected tosaid corrective data memory, said read only memory and said differencearithmetic unit, and applying the difference to a comparison of theoverlapping bits of digital data for different digital signals.
 11. Amethod of correcting the output of an absolute position encoder capableof providing digital signals converted from sinusoidal and cosinusoidalsignals of different frequency output by the absolute position encoder,comprising the steps of:(a) storing digital data provided by eachdigital signal at a precision that produces overlapping bits; (b)comparing the overlapping bits to obtain corrective data; and (c)correcting the digital data stored by said storing in step (a) using thecorrective data obtained by said comparing in step (b) to reduce a phaseerror between the sinusoidal and cosinusoidal signals of differentfrequency.